package com.huyucheng.todolist

import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase

@Database(version = 1, entities = [Todo::class])
abstract class AppDatabase : RoomDatabase() {

    abstract fun todoDao(): TodoDao

    companion object {
        private var instance: AppDatabase? = null

        @Synchronized
        fun getDatabase(context: Context?): AppDatabase {
            instance?.let {
                return it
            }
            return Room.databaseBuilder(context?.applicationContext!!,
                AppDatabase::class.java, "app_database")
//                .allowMainThreadQueries()
                .build().apply {
                    instance = this
                }
        }
    }
}